home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr22 / gnplt.zip / PROB2.DEM < prev    next >
Text File  |  1993-05-11  |  11KB  |  361 lines

  1. #
  2. # $Id: prob2.demo 3.38.2.6 1992/11/14 02:25:21 woo Exp $
  3. #
  4. # Demo Statistical Approximations version 1.1
  5. #
  6. # Permission granted to distribute freely for non-commercial purposes only
  7. #
  8. # Copyright (c) 1991, Jos van der Woude, jvdwoude@hut.nl
  9.  
  10. pause  0 ""
  11. pause  0 ""
  12. pause  0 ""
  13. pause  0 ""
  14. pause  0 ""
  15. pause  0 ""
  16. pause  0 "                        Statistical Approximations, version 1.1"
  17. pause  0 ""
  18. pause  0 "        Copyright (c) 1991, 1992, Jos van de Woude, jvdwoude@hut.nl"
  19. pause  0 ""
  20. pause  0 ""
  21. pause  0 " Permission granted to distribute freely for non-commercial purposes only"
  22. pause  0 ""
  23. pause  0 ""
  24. pause  0 ""
  25. pause  0 ""
  26. pause  0 ""
  27. pause  0 ""
  28. pause  0 ""
  29. pause  0 ""
  30. pause  0 ""
  31. pause  0 "     NOTE: contains 10 plots and consequently takes some time to run"
  32. pause  0 "                      Press Ctrl-C to exit right now"
  33. pause  0 ""
  34. pause -1 "                      Press Return to start demo ..."
  35. save set "defaults.ini"
  36.  
  37. load "stat.inc"
  38.  
  39. # Binomial PDF using normal approximation
  40. n = 25; p = 0.15
  41. mu = n * p
  42. sigma = sqrt(n * p * (1.0 - p))
  43. xmin = floor(mu - 4.0 * sigma)
  44. xmin = xmin < 0 ? 0 : xmin
  45. xmax = ceil(mu + 4.0 * sigma)
  46. ymax = 1.1 * binom(mu) #mode of binomial PDF used
  47. xinc = ceil((xmax - xmin) / 10)
  48. xinc = xinc > 1 ? xinc : 1
  49. set key
  50. set nozeroaxis
  51. set xrange [xmin - 1 : xmax + 1]
  52. set yrange [0 : ymax]
  53. set xlabel "k, x ->"
  54. set ylabel "probability density ->"
  55. set xtics xmin + 0.499, ceil(sigma), xmax
  56. set ytics 0, ymax / 10.0, ymax
  57. set format x "%2.0f"
  58. set format y "%3.2f"
  59. set sample 200
  60. set title "binomial PDF using normal approximation"
  61. set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
  62. set arrow from mu + 0.5, normal(mu + sigma) \
  63.           to mu + 0.5 + sigma, normal(mu + sigma) nohead
  64. set label "mu" at mu + 1, ymax / 10
  65. set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
  66. plot binom(x), normal(x - 0.5)
  67. pause -1 "Hit return to continue"
  68. set noarrow
  69. set nolabel
  70.  
  71. # Binomial PDF using poisson approximation
  72. n = 50; p = 0.1
  73. mu = n * p
  74. sigma = sqrt(mu)
  75. xmin = floor(mu - 4.0 * sigma)
  76. xmin = xmin < 0 ? 0 : xmin
  77. xmax = ceil(mu + 4.0 * sigma)
  78. ymax = 1.1 * binom(mu) #mode of binomial PDF used
  79. xinc = ceil((xmax - xmin) / 10)
  80. xinc = xinc > 1 ? xinc : 1
  81. set key
  82. set nozeroaxis
  83. set xrange [xmin - 1 : xmax + 1]
  84. set yrange [0 : ymax]
  85. set xlabel "k ->"
  86. set ylabel "probability density ->"
  87. set xtics xmin + 0.499, ceil(sigma), xmax
  88. set ytics 0, ymax / 10.0, ymax
  89. set format x "%2.0f"
  90. set format y "%3.2f"
  91. set sample 200
  92. set title "binomial PDF using poisson approximation"
  93. set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
  94. set arrow from mu + 0.5, normal(mu + sigma) \
  95.           to mu + 0.5 + sigma, normal(mu + sigma) nohead
  96. set label "mu" at mu + 1, ymax / 10
  97. set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
  98. plot binom(x), poisson(x)
  99. pause -1 "Hit return to continue"
  100. set noarrow
  101. set nolabel
  102.  
  103. # Geometric PDF using gamma approximation
  104. p = 0.3
  105. mu = (1.0 - p) / p
  106. sigma = sqrt(mu / p)
  107. lambda = p
  108. rho = 1.0 - p
  109. xmin = floor(mu - 4.0 * sigma)
  110. xmin = xmin < 0 ? 0 : xmin
  111. xmax = ceil(mu + 4.0 * sigma)
  112. xinc = ceil((xmax - xmin) / 10)
  113. xinc = xinc > 1 ? xinc : 1
  114. ymax = 1.1 * p
  115. set key
  116. set nozeroaxis
  117. set xrange [xmin - 1 : xmax + 1]
  118. set yrange [0 : ymax]
  119. set xlabel "k, x ->"
  120. set ylabel "probability density ->"
  121. set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
  122. set ytics 0, ymax / 10.0, ymax
  123. set format x "%2.0f"
  124. set format y "%3.2f"
  125. set sample 200
  126. set title "geometric PDF using gamma approximation"
  127. set arrow from mu + 0.5, 0 to mu + 0.5, g(mu) nohead
  128. set arrow from mu + 0.5, g(mu + sigma) \
  129.           to mu + 0.5 + sigma, g(mu + sigma) nohead
  130. set label "mu" at mu + 1, ymax / 10
  131. set label "sigma" at mu + 1 + sigma, g(mu + sigma)
  132. plot geometric(x), g(x - 0.5)
  133. pause -1 "Hit return to continue"
  134. set noarrow
  135. set nolabel
  136.  
  137. # Geometric PDF using normal approximation
  138. p = 0.3
  139. mu = (1.0 - p) / p
  140. sigma = sqrt(mu / p)
  141. xmin = floor(mu - 4.0 * sigma)
  142. xmin = xmin < 0 ? 0 : xmin
  143. xmax = ceil(mu + 4.0 * sigma)
  144. xinc = ceil((xmax - xmin) / 10)
  145. xinc = xinc > 1 ? xinc : 1
  146. ymax = 1.1 * p
  147. set key
  148. set nozeroaxis
  149. set xrange [xmin - 1 : xmax + 1]
  150. set yrange [0 : ymax]
  151. set xlabel "k, x ->"
  152. set ylabel "probability density ->"
  153. set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
  154. set ytics 0, ymax / 10.0, ymax
  155. set format x "%2.0f"
  156. set format y "%3.2f"
  157. set sample 200
  158. set title "geometric PDF using normal approximation"
  159. set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
  160. set arrow from mu + 0.5, normal(mu + sigma) \
  161.           to mu + 0.5 + sigma, normal(mu + sigma) nohead
  162. set label "mu" at mu + 1, ymax / 10
  163. set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
  164. plot geometric(x), normal(x - 0.5)
  165. pause -1 "Hit return to continue"
  166. set noarrow
  167. set nolabel
  168.  
  169. # Hypergeometric PDF using binomial approximation
  170. nn = 75; mm = 25; n = 10
  171. p = real(mm) / nn
  172. mu = n * p
  173. sigma = sqrt(real(nn - n) / (nn - 1.0) * n * p * (1.0 - p))
  174. xmin = floor(mu - 4.0 * sigma)
  175. xmin = xmin < 0 ? 0 : xmin
  176. xmax = ceil(mu + 4.0 * sigma)
  177. xinc = ceil((xmax - xmin) / 10)
  178. xinc = xinc > 1 ? xinc : 1
  179. ymax = 1.1 * hypgeo(mu) #mode of binom PDF used
  180. set key
  181. set nozeroaxis
  182. set xrange [xmin - 1 : xmax + 1]
  183. set yrange [0 : ymax]
  184. set xlabel "k ->"
  185. set ylabel "probability density ->"
  186. set xtics xmin, xinc, xmax
  187. set ytics 0, ymax / 10.0, ymax
  188. set format x "%2.0f"
  189. set format y "%3.2f"
  190. set sample 200
  191. set title "hypergeometric PDF using binomial approximation"
  192. set arrow from mu + 0.5, 0 to mu + 0.5, binom(mu) nohead
  193. set arrow from mu + 0.5, binom(mu + sigma) \
  194.           to mu + 0.5 + sigma, binom(mu + sigma) nohead
  195. set label "mu" at mu + 1, ymax / 10
  196. set label "sigma" at mu + 1 + sigma, binom(mu + sigma)
  197. plot hypgeo(x), binom(x)
  198. pause -1 "Hit return to continue"
  199. set noarrow
  200. set nolabel
  201.  
  202. # Hypergeometric PDF using normal approximation
  203. nn = 75; mm = 25; n = 10
  204. p = real(mm) / nn
  205. mu = n * p
  206. sigma = sqrt(real(nn - n) / (nn - 1.0) * n * p * (1.0 - p))
  207. xmin = floor(mu - 4.0 * sigma)
  208. xmin = xmin < 0 ? 0 : xmin
  209. xmax = ceil(mu + 4.0 * sigma)
  210. xinc = ceil((xmax - xmin) / 10)
  211. xinc = xinc > 1 ? xinc : 1
  212. ymax = 1.1 * hypgeo(mu) #mode of binom PDF used
  213. set key
  214. set nozeroaxis
  215. set xrange [xmin - 1 : xmax + 1]
  216. set yrange [0 : ymax]
  217. set xlabel "k, x ->"
  218. set ylabel "probability density ->"
  219. set xtics xmin, xinc, xmax
  220. set ytics 0, ymax / 10.0, ymax
  221. set format x "%2.0f"
  222. set format y "%3.2f"
  223. set sample 200
  224. set title "hypergeometric PDF using normal approximation"
  225. set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
  226. set arrow from mu + 0.5, normal(mu + sigma) \
  227.           to mu + 0.5 + sigma, normal(mu + sigma) nohead
  228. set label "mu" at mu + 1, ymax / 10
  229. set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
  230. plot hypgeo(x), normal(x - 0.5)
  231. pause -1 "Hit return to continue"
  232. set noarrow
  233. set nolabel
  234.  
  235. # Negative binomial PDF using gamma approximation
  236. r = 8; p = 0.6
  237. mu = r * (1.0 - p) / p
  238. sigma = sqrt(mu / p)
  239. lambda = p
  240. rho = r * (1.0 - p)
  241. xmin = int(mu - 4.0 * sigma)
  242. xmin = xmin < 0 ? 0 : xmin
  243. xmax = int(mu + 4.0 * sigma)
  244. xinc = ceil((xmax - xmin) / 10)
  245. xinc = xinc > 1 ? xinc : 1
  246. ymax = 1.1 * g((rho - 1) / lambda) #mode of gamma PDF used
  247. set key
  248. set nozeroaxis
  249. set xrange [xmin - 1 : xmax + 1]
  250. set yrange [0 : ymax]
  251. set xlabel "k, x ->"
  252. set ylabel "probability density ->"
  253. set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
  254. set ytics 0, ymax / 10.0, ymax
  255. set format x "%2.0f"
  256. set format y "%3.2f"
  257. set sample 200
  258. set title "negative binomial PDF using gamma approximation"
  259. set arrow from mu + 0.5, 0 to mu + 0.5, g(mu) nohead
  260. set arrow from mu + 0.5, g(mu + sigma) \
  261.           to mu + 0.5 + sigma, g(mu + sigma) nohead
  262. set label "mu" at mu + 1, ymax / 10
  263. set label "sigma" at mu + 1 + sigma, g(mu + sigma)
  264. plot negbin(x), g(x - 0.5)
  265. pause -1 "Hit return to continue"
  266. set noarrow
  267. set nolabel
  268.  
  269. # Negative binomial PDF using normal approximation
  270. r = 8; p = 0.4
  271. mu = r * (1.0 - p) / p
  272. sigma = sqrt(mu / p)
  273. xmin = floor(mu - 4.0 * sigma)
  274. xmin = xmin < 0 ? 0 : xmin
  275. xmax = ceil(mu + 4.0 * sigma)
  276. xinc = ceil((xmax - xmin) / 10)
  277. xinc = xinc > 1 ? xinc : 1
  278. ymax = 1.1 * negbin(mu - 1/p) #mode of gamma PDF used
  279. set key
  280. set nozeroaxis
  281. set xrange [xmin - 1 : xmax + 1]
  282. set yrange [0 : ymax]
  283. set xlabel "k, x ->"
  284. set ylabel "probability density ->"
  285. set xtics xmin + 0.499, ceil((xmax - xmin)/ 10.0), xmax
  286. set ytics 0, ymax / 10.0, ymax
  287. set format x "%2.0f"
  288. set format y "%3.2f"
  289. set sample 200
  290. set title "negative binomial PDF using normal approximation"
  291. set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
  292. set arrow from mu + 0.5, normal(mu + sigma) \
  293.           to mu + 0.5 + sigma, normal(mu + sigma) nohead
  294. set label "mu" at mu + 1, ymax / 10
  295. set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
  296. plot negbin(x), normal(x - 0.5)
  297. pause -1 "Hit return to continue"
  298. set noarrow
  299. set nolabel
  300.  
  301. # Normal PDF using logistic approximation
  302. mu = 1.0; sigma = 1.5
  303. a = mu
  304. lambda = pi / (sqrt(3.0) * sigma)
  305. xmin = mu - 4.0 * sigma
  306. xmax = mu + 4.0 * sigma
  307. ymax = 1.1 * logistic(mu) #mode of logistic PDF used
  308. set key
  309. set nozeroaxis
  310. set xrange [xmin: xmax]
  311. set yrange [0 : ymax]
  312. set xlabel "x ->"
  313. set ylabel "probability density ->"
  314. set xtics xmin, (xmax - xmin)/ 10.0, xmax
  315. set ytics 0, ymax / 10.0, ymax
  316. set format x "%.1f"
  317. set format y "%.2f"
  318. set sample 200
  319. set title "normal PDF using logistic approximation"
  320. set arrow from mu,0 to mu, normal(mu) nohead
  321. set arrow from mu, normal(mu + sigma) \
  322.           to mu + sigma, normal(mu + sigma) nohead
  323. set label "mu" at mu + 1, ymax / 10
  324. set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
  325. plot logistic(x), normal(x)
  326. pause -1 "Hit return to continue"
  327. set noarrow
  328. set nolabel
  329.  
  330. # Poisson PDF using normal approximation
  331. mu = 5.0
  332. sigma = sqrt(mu)
  333. xmin = floor(mu - 4.0 * sigma)
  334. xmin = xmin < 0 ? 0 : xmin
  335. xmax = ceil(mu + 4.0 * sigma)
  336. xinc = ceil((xmax - xmin) / 10)
  337. xinc = xinc > 1 ? xinc : 1
  338. ymax = 1.1 * poisson(mu) #mode of poisson PDF used
  339. set key
  340. set nozeroaxis
  341. set xrange [xmin - 1 : xmax + 1]
  342. set yrange [0 : ymax]
  343. set xlabel "k, x ->"
  344. set ylabel "probability density ->"
  345. set xtics xmin, xinc, xmax
  346. set ytics 0, ymax / 10.0, ymax
  347. set format x "%2.0f"
  348. set format y "%3.2f"
  349. set sample 200
  350. set title "poisson PDF using normal approximation"
  351. set arrow from mu + 0.5, 0 to mu + 0.5, normal(mu) nohead
  352. set arrow from mu + 0.5, normal(mu + sigma) \
  353.           to mu + 0.5 + sigma, normal(mu + sigma) nohead
  354. set label "mu" at mu + 1, ymax / 10
  355. set label "sigma" at mu + 1 + sigma, normal(mu + sigma)
  356. plot poisson(x), normal(x - 0.5)
  357. set noarrow
  358. set nolabel
  359.  
  360. load "defaults.ini"
  361.